/*
 * Copyright (C) 2017 Pingan, Inc. All Rights Reserved.
 */

package com.pingan.haofang.searchcloud.api.facade;

import com.pingan.haofang.searchcloud.api.StorageCluster;
import com.pingan.haofang.searchcloud.api.schema.IndexSchema;

import java.util.List;

/**
 * 索引配置
 *
 * @author zhangbi617
 * @date 2017-07-14
 */
public interface CollectionConfigFacade {
    /**
     * 新增配置
     *
     * @param storageCluster      集群host
     * @param schema              元数据
     * @param configNameInStorage 搜索引擎中的config名
     * @return
     * @
     */
    boolean create(StorageCluster storageCluster, IndexSchema schema, String configNameInStorage);

    /**
     * 删除zk中的 /configs 配置文件
     *
     * @param storageCluster      集群host
     * @param configNameInStorage 搜索引擎中的config名
     * @return
     */
    boolean delete(StorageCluster storageCluster, String configNameInStorage);

    /**
     * 获取到所有的configs
     * @param storageCluster
     * @return
     * @throws Exception
     */
    List<String> listAllConfigNames(StorageCluster storageCluster);


}
